﻿// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
//
// 本项目主要遵循 MIT 许可证和 Apache 许可证（版本 2.0）进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
//
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动！任何基于本项目二次开发而产生的一切法律纠纷和责任，我们不承担任何责任！

namespace MyDemo.Application.
    Respont;
public class PlcAddressHelper
{


    /// <summary>
    /// 定义PLC地址映射表
    /// </summary>
    private static readonly Dictionary<string, string> PlcAddressMap = new Dictionary<string, string>
    {
        { "WcsTaskNumber", "Wm40" },
        { "WcsTaskType", "Wm041" },
        { "StartQrCodeValue", "Wm042" },
        { "MiddleQrCodeValue", "Wm043" },
        { "TargetQrCodeValue", "Wm044" },
        { "TaskStatus",  "Wm045" },
        { "DistanceToTargetLow", "Wm046" },
        { "DistanceToTargetHigh", "Wm047" },
        { "DistanceFromMiddleToTargetLow", "Wm048" },
        { "DistanceFromMiddleToTargetHigh", "Wm049" },
        { "RgvRunningDirection", "Wm050" },
        { "CarRunningSpeed", "Wm051" },
        { "CarAcceleration", "Wm052" },
        { "CarDeceleration", "Wm053" },
        { "TaskUpdateBit", "Wm054" },
        { "WcsHeartbeatSignal", "Wm056" },
        { "RgvCommandStatus","Wm200" },
        #region Rgv反馈状态地址

	    #endregion

    };

    /// <summary>
    /// 获取PLC地址的方法
    /// </summary>
    /// <param name="propertyName"></param>
    /// <returns></returns>
    public static string GetPlcAddress(string propertyName)
    {
        if (PlcAddressMap.TryGetValue(propertyName, out string address))
        {
            return address;
        }
        return null;
    }


    //public void Getmqtt()
    //{
    //    //获取mqtt连接 1888匿名端口
    //    //var factory = new MqttFactory();
    //  //  var mqttClient = factory.CreateMqttClient();
    //    var options = new MqttClientOptionsBuilder()
    //        .WithTcpServer("localhost", 1888)
    //        .WithClientId("client1")
    //        .Build();
    //   // mqttClient.ConnectAsync(options);
    //    var mqttClient2 = new MQTTnet.MqttClientFactory();
    //   // mqttClient2.CreateMqttClient(options);
    //    Console.WriteLine("MQTT连接成功...");
    //}


    //var factory = new MqttFactory();




}


